#ifndef VOLUMEUNIT_H
#define VOLUMEUNIT_H

#include <BaseUnitConversion.h>


#define  OZ    VolumeUnit::getOzInstance()
#define  TSP   VolumeUnit::getTspInstance()
#define  TBSP  VolumeUnit::getTbspInstance()


struct VolumeUnit
{
    unsigned int toBase() const;

    //Should be not called by user.
    static const VolumeUnit* getOzInstance();
    static const VolumeUnit* getTspInstance();
    static const VolumeUnit* getTbspInstance();

private:
    VolumeUnit(unsigned int factor, const VolumeUnit* referenceUnit);

    BaseUnitConversion<VolumeUnit> baseUnitConversion;
};

#endif
